home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / INFO / QHELP.ZIP / QHELP.DOC < prev    next >
Text File  |  1988-04-30  |  18KB  |  372 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                           QHELP - PopUp Help Program
  8.                                   Users Guide
  9.  
  10.  
  11.  
  12.                                   Written by
  13.  
  14.                                 Mark VanKekerix
  15.                                  2035 J Apt 6
  16.                                Lincoln NE  68510
  17.                                 (402) 475-0601
  18.  
  19.  
  20.  
  21.          QHELP and QHCOMPIL software Copyright 1988 by Mark VanKekerix
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.                                TABLE OF CONTENTS
  31.  
  32.      License
  33.      Introduction
  34.           What is QHELP?
  35.           The Story Behind QHELP
  36.           System Requirements
  37.      Using QHELP
  38.           What Are Keywords?
  39.           Installing QHELP
  40.           Popping Up the Help Screen
  41.           Moving Through the Help File
  42.           Changing Help Files
  43.           Removing QHELP from Memory
  44.           Notes for Floppy Disk Users
  45.      Acknowledgments
  46.  
  47.  
  48. NOTE:     In this document, QHELP refers to the resident program QHELP.EXE, 
  49.           and QHCOMPIL refers to the help file compiler program 
  50.           QHCOMPIL.EXE.  Although QHCOMPIL is referred to in this guide, 
  51.           information on creating help files with QHCOMPIL is contained in a 
  52.           separate document.  QHCOMPIL and the QHCOMPIL documentation may not 
  53.           have been included with your copy of QHELP.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.                                     LICENSE
  60.  
  61. Users of the QHELP system are granted a limited license for personal use.  No 
  62. part of the QHELP system can be distributed for profit without a specific 
  63. written agreement (this includes distribution within a company or 
  64. corporation, "bundling" with other software, etc.).  These limitations apply 
  65. to QHELP, QHCOMPIL (the help file compiler), and any help files created with 
  66. QHCOMPIL.
  67.  
  68. What this means is you are free to use QHELP and any help files you have 
  69. created yourself or obtained from bulletin boards, etc., but if you want to 
  70. package QHELP with another program you are selling for profit, contact me for 
  71. written permission to do so (I will ask for a small fee for such a license).
  72.  
  73. The limitation on "bundling" QHELP with other programs applies only if the 
  74. program is being sold for profit.  If you have developed a public domain 
  75. program and would like to use QHELP and a help file you have written as the 
  76. program's help system, please feel free to do so.
  77.  
  78. If you have written a help file for any program (public domain or otherwise) 
  79. that you think other people would find helpful, I encourage you to make it 
  80. part of the public domain (along with a copy of QHELP).
  81.  
  82. I also encourage you to upload QHELP to all of your favorite bulletin boards, 
  83. copy it for your friends, etc., as long as you don't violate the above 
  84. restrictions.
  85.  
  86. QHELP may be distributed by itself (without QHCOMPIL) subject to the above 
  87. restrictions.  If you are going to distribute QHELP in such a manner, please 
  88. make sure this document and at least one compiled help file is included.
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.                                  INTRODUCTION
  96.  
  97.  
  98. What is QHELP?
  99.  
  100.      QHELP is a memory resident help system that can pop up in most any text-
  101.      based application program.  The file containing the available help 
  102.      information is called the "help file", and is fully user-definable.  
  103.      Anyone that has an ordinary text editor and a copy of QHCOMPIL (the help 
  104.      file compiler) can create his/her own help files.  The help files can be 
  105.      very large, but QHELP will always use the same small amount of memory 
  106.      regardless of the size of the help file.  QHELP does this by only 
  107.      holding a list of topic names (called "keywords") in memory; For the 
  108.      actual help information it returns to the file.
  109.      
  110.  
  111. The Story Behind QHELP
  112.  
  113.      A long time ago on a PC far, far away, I was a lowly Pascal language 
  114.      programmer who desperately wanted to learn a new language called "C" and 
  115.      write hot new programs that would take the world by storm...
  116.      
  117.      Actually it wasn't all that long ago and "C" isn't such a new language, 
  118.      but I decided it was about time I learned to use it, so I started 
  119.      writing simple programs and such using Borland International's TurboC 
  120.      compiler.  Before too long I thought I was ready to start a major 
  121.      program, but I couldn't decide what to write.  I wanted to write 
  122.      something for the public domain, but most of the really useful ideas I 
  123.      had had already been written by someone else.  Then I came up with the 
  124.      idea for QHELP.
  125.      
  126.      TurboC has a really nice help system.  It can give information on any 
  127.      topic relating to the use of its integrated development environment, 
  128.      including menu options, use of the editor, and "C" reserved words and 
  129.      standard library functions.  The problem was that I didn't use the 
  130.      integrated environment very often; I have another editor that is more 
  131.      powerful than TurboC's (it allows editing of multiple files, definition 
  132.      of macros, etc.) but when I used it I couldn't access TurboC's help 
  133.      system.  So I decided to write a "pop up" help program that could give 
  134.      me the help information I wanted from within any editor I chose to use.  
  135.      Since I wanted to be able to add to or change the help information, I 
  136.      made QHELP general enough that it could give help on any topic that 
  137.      someone had written a help file for.
  138.      
  139.      QHELP is very much patterned after TurboC's help system.  I really liked 
  140.      the way Borland set it up; When popped up, the help system tried to find 
  141.      information on whatever word happened to be at the cursor, but if it 
  142.      couldn't find anything it would present a menu of topics.  Also, if 
  143.      there were topics relating to the topic you were looking at it allowed 
  144.      you to go to those topics by simply pointing at the topic name.  I 
  145.      decided to incorporate these features, plus a few of my own, into QHELP.
  146.      
  147.  
  148. System Requirements
  149.  
  150.      QHELP will run on IBM PC, XT, or AT (or compatible) computers using MS-
  151.      DOS 2.0 or later.  It takes up about 35K of memory when resident.  QHELP 
  152.      doesn't care what display card you are using, but it will only pop up in 
  153.      text modes (not in graphics modes).
  154.      
  155.  
  156.  
  157.  
  158.                                   Using QHELP
  159.  
  160. What Are Keywords?
  161.  
  162.      Keywords are the basis for retrieval of help information.  A help file 
  163.      for QHELP is simply a list of "key words" that identify the topics 
  164.      available in the help file, along with a description for each topic (the 
  165.      actual help information) and the names of topics that are related.
  166.      
  167.      For example, if the help file contained information on MS-DOS system 
  168.      commands, the word "chdir" would be a keyword (since it is the DOS 
  169.      command for changing directories).  "chdir" would be listed in the help 
  170.      file as a keyword, along with a description of what the command does.  
  171.      Along with the description would be a list of related keywords, such as 
  172.      "mkdir","rmdir", and "dir" (the commands for creating, removing, and 
  173.      listing directories).
  174.      
  175.      When QHELP is "popped up", it looks at the word on the screen next to 
  176.      the cursor and tries to find that word in its list of keywords.  If it 
  177.      finds a keyword, the description for that keyword is put on the screen, 
  178.      along with any related keywords.  You are then allowed to select one of 
  179.      the related keywords (in which case the description for the selected 
  180.      keyword replaces the original one) or return to the application you are 
  181.      using.
  182.      
  183.      If QHELP can't find a keyword that matches the word at the cursor, it 
  184.      pops up a "default screen", usually a menu of available keywords.
  185.      
  186.      
  187. Installing QHELP
  188.  
  189.      Installing QHELP is fairly simple.  At the DOS prompt, give the 
  190.      following command:
  191.      
  192.           QHELP <filename>
  193.      
  194.      where <filename> is replaced by the name of the help file you want to 
  195.      use.  The help file name should not contain an extension; An extension 
  196.      of ".QHP" is assumed.  For example, the command "QHELP TESTFILE" would 
  197.      install QHELP with the keyword list from the file "TESTFILE.QHP".  
  198.      "TESTFILE.QHP" would have to be in the current directory, or QHELP will 
  199.      not install and will instead report that it can't find the specified 
  200.      help file.  Another way to install QHELP is to specify the full path and 
  201.      filename for the help file, as in "QHELP C:\QHFILES\TESTFILE", which 
  202.      would install QHELP with the keyword list from the file "TESTFILE.QHP", 
  203.      located in the QHFILES subdirectory of drive C:.
  204.      
  205.      If the specified help file is in the current directory when QHELP is 
  206.      installed, or if you have specified the full pathname for the help file, 
  207.      then QHELP will always be able remember where the help file is so it can 
  208.      properly retrieve help information.  If a partial pathname is specified, 
  209.      as in "QHELP ..\TESTFILE" (which specifies the file "TESTFILE.QHP" in 
  210.      the directory above the current one), then QHELP will not be able to 
  211.      locate the file properly if you change directories (since "TESTFILE.QHP" 
  212.      will not always be located in the directory "above" the current one).
  213.      
  214.      If QHELP can find the help file you specified, it will print a message 
  215.      telling you that it is installing, and list for you the "hot key" 
  216.      combination that will cause it to pop up.
  217.      
  218.  
  219.  
  220.  
  221. Popping Up the Help Screen
  222.  
  223.      To obtain help information while running an application program, press 
  224.      the "hot key" combination that QHELP gave to you when it installed.  For 
  225.      example, if the hot key was "[Alt][Ctrl]-H", then press and hold the 
  226.      "Alt" key, press and hold the "Ctrl" key, and tap the "H" key.  The 
  227.      QHELP window will then appear in the middle of your screen, and you can 
  228.      release all the keys you're holding down.
  229.      
  230.      As it is popping up, QHELP will look at the word under the cursor and 
  231.      attempt to find that word in its list of keywords.  The cursor MUST be 
  232.      positioned properly (on some part of the word) for QHELP to find that 
  233.      word.  If it finds the word in its keyword list, then QHELP will display 
  234.      in its window the description for that keyword.  If it can't find the 
  235.      word, then QHELP will display the "default screen" for the help file, 
  236.      which is usually a list available keywords.
  237.  
  238.      If QHELP detects that your system is capable of displaying colors, the
  239.      QHELP window will appear in the colors defined by the author of the
  240.      help file.  If your system appears to be monochrome, the window will
  241.      be displayed in QHELP's default black and white color scheme.  When using
  242.      a monochrome-type display with a color display adapter (like the
  243.      composite display and CGA adapter of older Compaq portable computers)
  244.      you may want to give the command "MODE BW80" at the DOS prompt to change
  245.      your system to a video mode that QHELP will recognize as black and white.
  246.      
  247.  
  248. Moving Through the Help File
  249.  
  250.      The help information for a keyword may be longer than the window that 
  251.      QHELP displays it in.  If this is the case, the word "PgDn" will appear 
  252.      in the lower right corner of the QHELP window, indicating that there is 
  253.      more information than will fit in the window and that you can use the 
  254.      <PgDn> key on the numeric keypad to display the next "page" of 
  255.      information.  When you press <PgDn>, the next page will be displayed, 
  256.      and the word "PgUp" will appear in the upper right corner of the window, 
  257.      indicating that there are page(s) of information "above" the page 
  258.      currently in the window.  If there are several pages of information, the 
  259.      "PgUp" and "PgDn" indicators may both be displayed at the same time.
  260.      
  261.      The help information text will be displayed in an appropriate color.  If 
  262.      there are keywords related to the information you are currently looking 
  263.      at, these related keywords will be displayed in a different color.  One 
  264.      of these related keywords will also be displayed in a "highlight" color, 
  265.      indicating that it is the "selected" related keyword.  By using the 
  266.      arrow keys on the numeric keypad, you can change the selected keyword to 
  267.      any one of the related keywords being displayed.  The right arrow key 
  268.      moves the "highlighter" to the next keyword to the right, the left arrow 
  269.      moves left, the up arrow moves up, and the down arrow moves down (pretty 
  270.      much as you would expect).
  271.      
  272.      Pressing the <Enter> key will cause the text in the window to be 
  273.      replaced with the information on the currently highlighted keyword.  In 
  274.      this way, you can go directly to related topics.
  275.      
  276.      Pressing the <F1> key at any time will display the "default screen" for 
  277.      the help file (this is usually a list of available keywords).  This is 
  278.      the same screen that would appear if QHELP was unable to find a keyword 
  279.      at the cursor when popped up.
  280.      
  281.      Pressing the [Alt]-F1 key combination will "back up" to the information 
  282.      on the keyword you last examined.  For example, if you were looking at a 
  283.      description of the DOS "chdir" command, selected the related topic 
  284.      "mkdir", then pressed [Alt]-F1, you would be returned to the description 
  285.      of "chdir".  QHELP remembers the last ten keywords you examined, and so 
  286.      allows you to back up ten times.  If you have reached the limit of what 
  287.      QHELP remembers, no action is taken when you press [Alt]-F1.
  288.      
  289.      Pressing the <ESC> key will return you to your application program.
  290.      
  291.  
  292.  
  293.  
  294. Changing Help Files
  295.  
  296.      If you have popped QHELP up and realize that the information you seek is 
  297.      in a different help file than the one you installed, you must change 
  298.      help files.  To do this, press the <F2> key.  QHELP will prompt you for 
  299.      the name of the help file you wish to load.  When entering the help file 
  300.      name, don't give an extension (".QHP" is assumed).  It is usually best 
  301.      to specify the complete pathname for the file (including the drive 
  302.      letter).
  303.      
  304.      If QHELP is unable to locate the help file, it will tell you so, then 
  305.      return you to the keyword description that was in use when you pressed 
  306.      the <F2> key.
  307.      
  308.      If QHELP finds the help file, it will tell you the "hot key" associated 
  309.      with that file (which may be different from the original one).  This is 
  310.      now the key combination that will pop QHELP up.  The default screen for 
  311.      the new file will then be displayed.
  312.      
  313.  
  314. Removing QHELP from Memory
  315.  
  316.      If you wish to remove QHELP from memory, issue the following command at 
  317.      the DOS prompt:
  318.      
  319.           QHELP /U
  320.      
  321.      QHELP will check to see if it is resident in memory, and attempt to 
  322.      unload the resident portion if it is.  If QHELP is not resident, it will 
  323.      tell you so.
  324.      
  325.      It is always a good idea to release all resident programs from memory in 
  326.      the reverse of the order in which they were installed, i.e., the last 
  327.      resident program should be released first, the next to last program 
  328.      second, etc.  If you don't do this, you might end up with "holes" in 
  329.      memory, or worse yet, interrupt vector chains corrupted (this can cause 
  330.      your system to lock up among other things).  QHELP will try to determine 
  331.      if other resident programs are loaded above it, and will refuse to 
  332.      release itself if it finds any, but it isn't always accurate.  The best 
  333.      defense against such problems is to release all resident programs above 
  334.      QHELP before releasing QHELP itself.
  335.      
  336.  
  337. Notes to Floppy Disk Users
  338.  
  339.      If you are running QHELP from floppy disks, the floppy disk containing 
  340.      the help file must be in the same disk drive that it was in when QHELP 
  341.      was installed, or QHELP will be unable to locate its help information.  
  342.      You can remove the disk when QHELP is inactive, but the disk MUST be 
  343.      present when QHELP is popped up.  If you inadvertently pop QHELP up 
  344.      without the disk in its proper drive, QHELP will give an error message, 
  345.      and you will have to press <ESC> (to exit QHELP), put the disk in the 
  346.      correct drive, and pop QHELP up again.
  347.      
  348.  
  349.  
  350.  
  351.                                 Acknowledgments
  352.  
  353.  
  354. I would like to thank Borland International both for its outstanding "C" 
  355. compiler, TurboC, and for the excellent help system in TurboC's integrated 
  356. development environment which inspired me to write QHELP.
  357.  
  358. I would also like to thank Al Stevens for his article "Writing Terminate-and-
  359. Stay-Resident Programs (Part 1: TSRs in TurboC)" in Computer Language 
  360. magazine (February 1988 issue).  In that article Mr. Stevens gave complete 
  361. listings for the shell of a resident program, and these are the residency 
  362. routines that QHELP uses (with some minor modifications).  Anyone interested 
  363. in trying his/her hand at writing resident programs (in "C" or otherwise) 
  364. would do well to read Mr. Stevens' article.
  365.  
  366. Also, special thanks go out to my roommate, Dave Steiner.  Since he is an
  367. experienced "C" programmer and has also written many resident programs (in
  368. several languages), I pestered him with endless questions and he somehow
  369. managed to answer them all.
  370.  
  371.  
  372.